package mr;

import java.io.BufferedReader;
import java.io.FileReader;
import java.util.HashMap;

/*
    要求：
        求每个班级有多少学生

        方法一：
            1、一个线程在总数据文档直接求
            2、利用输入流每次读取一行数据，利用split分割得到班级
            3、将得到的班级作为key值，相同的班级values值+1
                                  集合中不存在的班级就添加进集合

            {文科六班=1040, 文科二班=870, 文科三班=940, 理科五班=700,
            文科四班=810, 理科一班=780, 文科五班=840, 理科六班=920,
            理科二班=790, 文科一班=720, 理科三班=680, 理科四班=910}
            108
            {文科六班=1040, 文科二班=870, 文科三班=940, 理科五班=700,
            文科四班=810, 理科一班=780, 文科五班=840, 理科六班=920,
            理科二班=790, 文科一班=720, 理科三班=680, 理科四班=910}



 */
public class Test4Map {

    public static void main(String[] args) throws Exception{

        long start = System.currentTimeMillis();
        BufferedReader br = new BufferedReader
                (new FileReader("F:\\数加\\代码\\nanshan\\date\\bigstudents.txt"));

        String line;
        HashMap<String, Integer> map = new HashMap<>();

        while ((line=br.readLine())!=null){

            String clazz = line.split(",")[4];

            if (!map.containsKey(clazz)){
                map.put(clazz,1);
            }else {
                map.put(clazz,map.get(clazz)+1);

            }

        }
        br.close();
        System.out.println(map);

        long end = System.currentTimeMillis();
        System.out.println(end-start);
    }

}
